Dynamic outlier bias reduction system and method

ABSTRACT

A system and method is described herein for data filtering to reduce functional, and trend line outlier bias. Outliers are removed from the data set through an objective statistical method. Bias is determined based on absolute, relative error, or both. Error values are computed from the data, model coefficients, or trend line calculations. Outlier data records are removed when the error values are greater than or equal to the user-supplied criteria. For optimization methods or other iterative calculations, the removed data are re-applied each iteration to the model computing new results. Using model values for the complete dataset, new error values are computed and the outlier bias reduction procedure is re-applied. Overall error is minimized for model coefficients and outlier removed data in an iterative fashion until user defined error improvement limits are reached. The filtered data may be used for validation, outlier bias reduction and data quality operations.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a continuation of U.S. patent application Ser. No. 13/213,780, filed Aug. 19, 2011 by Richard Bradley Jones and entitled “Dynamic Outlier Bias Reduction System and Method,” which is incorporated herein by reference in its entirety.

STATEMENTS REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT

Not applicable.

REFERENCE TO A MICROFICHE APPENDIX

Not applicable.

FIELD OF THE INVENTION

The present invention relates to the analysis of data where outlier elements are removed (or filtered) from the analysis development. The analysis may be related to the computation of simple statistics or more complex operations involving mathematical models that use data in their development. The purpose of outlier data filtering may be to perform data quality and data validation operations, or to compute representative standards, statistics, data groups that have applications in subsequent analyses, regression analysis, time series analysis or qualified data for mathematical models development.

BACKGROUND

Removing outlier data in standards or data-driven model development is an important part of the pre-analysis work to ensure a representative and fair analysis is developed from the underlying data. For example, developing equitable benchmarking of greenhouse gas standards for carbon dioxide (CO₂), ozone (O₃), water vapor (H₂O), hydrofluorocarbons (HFCs), perfluorocarbons (PFCs), chlorofluorocarbons (CFCs), sulfur hexafluoride (SF₆), methane (CH₄), nitrous oxide (N₂O), carbon monoxide (CO), nitrogen oxides (NOx), and non-methane volatile organic compounds (NMVOCs) emissions requires that collected industrial data used in the standards development exhibit certain properties. Extremely good or bad performance by a few of the industrial sites should not bias the standards computed for other sites. It may be judged unfair or unrepresentative to include such performance results in the standard calculations. In the past, the performance outliers were removed via a semi-quantitative process requiring subjective input. The present system and method is a data-driven approach that performs this task as an integral part of the model development, and not at the pre-analysis or pre-model development stage.

The removal of bias can be a subjective process wherein justification is documented in some form to substantiate data changes. However, any form of outlier removal is a form of data censoring that carries the potential for changing calculation results. Such data filtering may or may not reduce bias or error in the calculation and in the spirit of full analysis disclosure, strict data removal guidelines and documentation to remove outliers needs to be included with the analysis results. Therefore, there is a need in the art to provide a new system and method for objectively removing outlier data bias using a dynamic statistical process useful for the purposes of data quality operations, data validation, statistic calculations or mathematical model development, etc. The outlier bias removal system and method can also be used to group data into representative categories where the data is applied to the development of mathematical models customized to each group. In a preferred embodiment, coefficients are defined as multiplicative and additive factors in mathematical models and also other numerical parameters that are nonlinear in nature. For example, in the mathematical model, f(x,y,z)=a*x+b*y^(c)+d*sin(ez)+f, a, b, c, d, e, and f are all defined as coefficients. The values of these terms may be fixed or part of the development of the mathematical model.

BRIEF SUMMARY

A preferred embodiment includes a computer implemented method for reducing outlier bias comprising the steps of: selecting a bias criteria; providing a data set; providing a set of model coefficients; selecting a set of target values; (1) generating a set of predicted values for the complete data set; (2) generating an error set for the dataset; (3) generating a set of error threshold values based on the error set and the bias criteria; (4) generating, by a processor, a censored data set based on the error set and the set of error threshold values; (5) generating, by the processor, a set of new model coefficients; and (6) using the set of new model coefficients, repeating steps (1)-(5), unless a censoring performance termination criteria is satisfied. In a preferred embodiment, the set of predicted values may be generated based on the data set and the set of model coefficients. In a preferred embodiment, the error set may comprise a set of absolute errors and a set of relative errors, generated based on the set of predicted values and the set of target values. In another embodiment, the error set may comprise values calculated as the difference between the set of predicted values and the set of target values. In another embodiment, the step of generating the set of new coefficients may further comprise the step of minimizing the set of errors between the set of predicted values and the set of actual values, which can be accomplished using a linear, or a non-linear optimization model. In a preferred embodiment, the censoring performance termination criteria may be based on a standard error and a coefficient of determination.

Another embodiment includes a computer implemented method for reducing outlier bias comprising the steps of: selecting an error criteria; selecting a data set; selecting a set of actual values; selecting an initial set of model coefficients; generating a set of model predicted values based on the complete data set and the initial set of model coefficients; (1) generating a set of errors based on the model predicted values and the set of actual values for the complete dataset; (2) generating a set of error threshold values based on the complete set of errors and the error criteria for the complete data set; (3) generating an outlier removed data set, wherein the filtering is based on the complete data set and the set of error threshold values; (4) generating a set of new coefficients based on the filtered data set and the set of previous coefficients, wherein the generation of the set of new coefficients is performed by the computer processor; (5) generating a set of outlier bias reduced model predicted values based on the filtered data set and the set of new model coefficients, wherein the generation of the set of outlier bias reduced model predicted values is performed by a computer processor; (6) generating a set of model performance values based on the model predicted values and the set of actual values; repeating steps (1)-(6), while substituting the set of new coefficients for the set of coefficients from the previous iteration, unless: a performance termination criteria is satisfied; and storing the set of model predicted values in a computer data medium.

Another embodiment includes a computer implemented method for reducing outlier bias comprising the steps of: selecting a target variable for a facility; selecting a set of actual values of the target variable; identifying a plurality of variables for the facility that are related to the target variable; obtaining a data set for the facility, the data set comprising values for the plurality of variables; selecting a bias criteria; selecting a set of model coefficients; (1) generating a set of predicted values based on the complete data set and the set of model coefficients; (2) generating a set of censoring model performance values based on the set of predicted values and the set of actual values; (3) generating an error set based on the set of predicted values and the set of actual values for the target variable; (4) generating a set of error threshold values based on the error set and the bias criteria; (5) generating, by a processor, a censored data set based on the data set and the set of error thresholds; (6) generating, by the processor, a set of new model coefficients based on the censored data set and the set of model coefficients; (7) generating, by the processor, a set of new predicted values based on the data set and the set of new model coefficients; (8) generating a set of new censoring model performance values based on the set of new predicted values and the set of actual values; using the set of new coefficients, repeating steps (1)-(8) unless a censoring performance termination criteria is satisfied; and storing the set of new model predicted values in a computer data medium.

Another embodiment includes a computer implemented method for reducing outlier bias comprising the steps of: determining a target variable for a facility, wherein the target variable is a metric for an industrial facility related to its production, financial performance, or emissions; identifying a plurality of variables for the facility, wherein the plurality of variables comprises: a plurality of direct variables for the facility that influence the target variable; and a set of transformed variables for the facility, each transformed variable is a function of at least one direct facility variable that influences the target variable; selecting an error criteria comprising: an absolute error, and a relative error; obtaining a data set for the facility, wherein the data set comprises values for the plurality of variables; selecting a set of actual values of the target variable; selecting an initial set of model coefficients; generating a set of model predicted values based on the complete data set and the initial set of model coefficients; generating a complete set of errors based on the set of model predicted values and the set of actual values, wherein the relative error is calculated using the formula: Relative Error_(m) ((Predicted Value_(m)−Actual Value_(m))/Actual Value_(m))² wherein ‘m’ is a reference number, and wherein the absolute error is calculated using the formula: Absolute Error_(m)=(Predicted Value_(m)−Actual Value_(m))²; generating a set of model performance values based on the set of model predicted values and the set of actual values, wherein the set of overall model performance values comprises of: a first standard error, and a first coefficient of determination; (1) generating a set of errors based on the model predicted values and the set of actual values for the complete dataset; (2) generating a set of error threshold values based on the complete set of errors and the error criteria for the complete data set; (3) generating an outlier removed data set by removing data with error values greater than or equal to the error threshold values, wherein the filtering is based on the complete data set and the set of error threshold values; (4) generating a set of outlier bias reduced model predicted values based on the outlier removed data set and the set of model coefficients by minimizing the error between the set of predicted values and the set of actual values using at least one of: a linear optimization model, and a nonlinear optimization model, wherein the generation of the new model predicted values is performed by a computer processor; (5) generating a set of new coefficients based on the outlier removed data set and the previous set of coefficients, wherein the generation of the set of new coefficients is performed by the computer processor; (6) generating a set of overall model performance values based on the set of new predicted model values and the set of actual values, wherein the set of model performance values comprise: a second standard error, and a second coefficient of determination; repeating steps (1)-(6), while substituting the set of new coefficients for the set of coefficients from the previous iteration, unless: a performance termination criteria is satisfied, wherein the performance termination criteria comprises: a standard error termination value and a coefficient of determination termination value, and wherein satisfying the performance termination criteria comprises: the standard error termination value is greater than the difference between the first and second standard error, and the coefficient of determination termination value is greater than the difference between the first and second coefficient of determination; and storing the set of new model predicted values in a computer data medium.

Another embodiment includes a computer implemented method for reducing outlier bias comprising the steps of: selecting an error criteria; selecting a data set; selecting a set of actual values; selecting an initial set of model predicted values; determining a set of errors based on the set of model predicted values and the set of actual values; (1) determining a set of error threshold values based on the complete set of errors and the error criteria; (2) generating an outlier removed data set, wherein the filtering is based on the data set and the set of error threshold values; (3) generating a set of outlier bias reduced model predicted values based on the outlier removed data set and the previous model predicted values, wherein the generation of the set of outlier bias reduced model predicted values is performed by a computer processor; (4) determining a set of errors based on the set of new model predicted values and the set of actual values; repeating steps (1)-(4), while substituting the set of new model predicted values for the set of model predicted values from the previous iteration, unless: a performance termination criteria is satisfied; and storing the set of outlier bias reduced model predicted values in a computer data medium.

Another embodiment includes a computer implemented method for reducing outlier bias comprising the steps of: determining a target variable for a facility; identifying a plurality of variables for the facility, wherein the plurality of variables comprises: a plurality of direct variables for the facility that influence the target variable; and a set of transformed variables for the facility, each transformed variable being a function of at least one direct facility variable that influences the target variable; selecting an error criteria comprising: an absolute error, and a relative error; obtaining a data set, wherein the data set comprises values for the plurality of variables, and selecting a set of actual values of the target variable; selecting an initial set of model coefficients; generating a set of model predicted values by applying a set of model coefficients to the data set; determining a set of performance values based on the set of model predicted values and the set of actual values, wherein the set of performance values comprises: a first standard error, and a first coefficient of determination; (1) generating a set of errors based on the set of model predicted values and the set of actual values for the complete dataset, wherein the relative error is calculated using the formula: Relative Error_(m)=((Predicted Value_(m)−Actual Value_(m))/Actual Value_(m))², wherein ‘m’ is a reference number, and wherein the absolute error is calculated using the formula: Absolute Error_(m)=(Predicted Value_(m)−Actual Value_(m))²) (2) generating a set of error threshold values based on the complete set of errors and the error criteria for the complete data set; (3) generating an outlier removed data set by removing data with error values greater than or equal to the set of error threshold values, wherein the filtering is based on the data set and the set of error threshold values; (4) generating a set of new coefficients based on the outlier removed data set and the set of previous coefficients (5) generating a set of outlier bias reduced model predicted values based on the outlier removed data set and the set of new model coefficient by minimizing the error between the set of predicted values and the set of actual values using at least one of: a linear optimization model, and a nonlinear optimization model, wherein the generation of the model predicted values is performed by a computer processor; (6) generating a set of updated performance values based on the set of outlier bias reduced model predicted values and the set of actual values, wherein the set of updated performance values comprises: a second standard error, and a second coefficient of determination; repeating steps (1)-(6), while substituting the set of new coefficients for the set of coefficients from the previous iteration, unless: a performance termination criteria is satisfied, wherein the performance termination criteria comprises: a standard error termination value, and a coefficient of determination termination value, and wherein satisfying the performance termination criteria comprises the standard error termination value is greater than the difference between the first and second standard error, and the coefficient of determination termination value is greater than the difference between the first and second coefficient of determination; and storing the set of outlier bias reduction factors in a computer data medium.

Another embodiment includes a computer implemented method for assessing the viability of a data set as used in developing a model comprising the steps of: providing a target data set comprising a plurality of data values; generating a random target data set based on the target dataset; selecting a set of bias criteria values; generating, by a processor, an outlier bias reduced target data set based on the data set and each of the selected bias criteria values; generating, by the processor, an outlier bias reduced random data set based on the random data set and each of the selected bias criteria values; calculating a set of error values for the outlier bias reduced data set and the outlier bias reduced random data set; calculating a set of correlation coefficients for the outlier bias reduced data set and the outlier bias reduced random data set; generating bias criteria curves for the data set and the random data set based on the selected bias criteria values and the corresponding error value and correlation coefficient; and comparing the bias criteria curve for the data set to the bias criteria curve for the random data set. The outlier bias reduced target data set and the outlier bias reduced random target data set are generated using the Dynamic Outlier Bias Removal methodology. The random target data set can comprise of randomized data values developed from values within the range of the plurality of data values. Also, the set of error values can comprise a set of standard errors, and wherein the set of correlation coefficients comprises a set of coefficient of determination values. Another embodiment can further comprise the step of generating automated advice regarding the viability of the target data set to support the developed model, and vice versa, based on comparing the bias criteria curve for the target data set to the bias criteria curve for the random target data set. Advice can be generated based on parameters selected by analysts, such as a correlation coefficient threshold and/or an error threshold. Yet another embodiment further comprises the steps of: providing an actual data set comprising a plurality of actual data values corresponding to the model predicted values; generating a random actual data set based on the actual data set; generating, by a processor, an outlier bias reduced actual data set based on the actual data set and each of the selected bias criteria values; generating, by the processor, an outlier bias reduced random actual data set based on the random actual data set and each of the selected bias criteria values; generating, for each selected bias criteria, a random data plot based on the outlier bias reduced random target data set and the outlier bias reduced random actual data; generating, for each selected bias criteria, a realistic data plot based on the outlier bias reduced target data set and the outlier bias reduced actual target data set; and comparing the random data plot with the realistic data plot corresponding to each of the selected bias criteria.

A preferred embodiment includes a system comprising: a server, comprising: a processor, and a storage subsystem; a database stored by the storage subsystem comprising: a data set; and a computer program stored by the storage subsystem comprising instructions that, when executed, cause the processor to: select a bias criteria; provide a set of model coefficients; select a set of target values; (1) generate a set of predicted values for the data set; (2) generate an error set for the dataset; (3) generate a set of error threshold values based on the error set and the bias criteria; (4) generate a censored data set based on the error set and the set of error threshold values; (5) generate a set of new model coefficients; and (6) using the set of new model coefficients, repeat steps (1)-(5), unless a censoring performance termination criteria is satisfied. In a preferred embodiment, the set of predicted values may be generated based on the data set and the set of model coefficients. In a preferred embodiment, the error set may comprise a set of absolute errors and a set of relative errors, generated based on the set of predicted values and the set of target values. In another embodiment, the error set may comprise values calculated as the difference between the set of predicted values and the set of target values. In another embodiment, the step of generating the set of new coefficients may further comprise the step of minimizing the set of errors between the set of predicted values and the set of actual values, which can be accomplished using a linear, or a non-linear optimization model. In a preferred embodiment, the censoring performance termination criteria may be based on a standard error and a coefficient of determination.

Another embodiment of the present invention includes a system comprising: a server, comprising: a processor, and a storage subsystem; a database stored by the storage subsystem comprising: a data set; and a computer program stored by the storage subsystem comprising instructions that, when executed, cause the processor to: select an error criteria; select a set of actual values; select an initial set of coefficients; generate a complete set of model predicted values from the data set and the initial set of coefficients; (1) generate a set of errors based on the model predicted values and the set of actual values for the complete dataset; (2) generate a set of error threshold values based on the complete set of errors and the error criteria for the complete data set; (3) generate an outlier removed data set, wherein the filtering is based on the complete data set and the set of error threshold values; (4) generate a set of outlier bias reduced model predicted values based on the outlier removed data set and the set of coefficients, wherein the generation of the set of outlier bias reduced model predicted values is performed by a computer processor; (5) generate a set of new coefficients based on the outlier removed data set and the set of previous coefficients, wherein the generation of the set of new coefficients is performed by the computer processor; (6) generate a set of model performance values based on the outlier bias reduced model predicted values and the set of actual values; repeat steps (1)-(6), while substituting the set of new coefficients for the set of coefficients from the previous iteration, unless: a performance termination criteria is satisfied; and store the set of overall outlier bias reduction model predicted values in a computer data medium.

Yet another embodiment includes a system comprising: a server, comprising: a processor, and a storage subsystem; a database stored by the storage subsystem comprising: a target variable for a facility; a set of actual values of the target variable; a plurality of variables for the facility that are related to the target variable; a data set for the facility, the data set comprising values for the plurality of variables; and a computer program stored by the storage subsystem comprising instructions that, when executed, cause the processor to: select a bias criteria; select a set of model coefficients; (1) generate a set of predicted values based on the data set and the set of model coefficients; (2) generate a set of censoring model performance values based on the set of predicted values and the set of actual values; (3) generate an error set based on the set of predicted values and the set of actual values for the target variable; (4) generate a set of error threshold values based on the error set and the bias criteria; (5) generate a censored data set based on the data set and the set of error thresholds; (6) generate a set of new model coefficients based on the censored data set and the set of model coefficients; (7) generate a set of new predicted values based on the data set and the set of new model coefficients; (8) generate a set of new censoring model performance values based on the set of new predicted values and the set of actual values; using the set of new coefficients, repeat steps (1)-(8) unless a censoring performance termination criteria is satisfied; and storing the set of new model predicted values in the storage subsystem.

Another embodiment includes a system comprising: a server, comprising: a processor, and a storage subsystem; a database stored by the storage subsystem comprising: a data set for a facility; and a computer program stored by the storage subsystem comprising instructions that, when executed, cause the processor to: determine a target variable; identify a plurality of variables, wherein the plurality of variables comprises: a plurality of direct variables for the facility that influence the target variable; and a set of transformed variables for the facility, each transformed variables being a function of at least one direct variable that influences the target variable; select an error criteria comprising: an absolute error, and a relative error; select a set of actual values of the target variable; select an initial set of coefficients; generate a set of model predicted values based on the data set and the initial set of coefficients; determine a set of errors based on the set of model predicted values and the set of actual values, wherein the relative error is calculated using the formula: Relative Error_(m)=((Predicted Value_(m)−Actual Value_(m))/Actual Value_(m))², wherein ‘m’ is a reference number, and wherein the absolute error is calculated using the formula: Absolute Error_(m)=(Predicted Value_(m)−Actual Value_(m))²; determine a set of performance values based on the set of model predicted values and the set of actual values; wherein the set of performance values comprises: a first standard error, and a first coefficient of determination; (1) generate a set of errors based on the model predicted values and the set of actual values; (2) generating a set of error threshold values based on the complete set of errors and the error criteria for the complete data set; (3) generate an outlier removed data set by filtering data with error values outside the set of error threshold values, wherein the filtering is based on the data set and the set of error threshold values; (4) generate a set of new model predicted values based on the outlier removed data set and the set of coefficients by minimizing an error between the set of model predicted values and the set of actual values using at least one of: a linear optimization model, and a nonlinear optimization model, wherein the generation of the outlier bias reduced model predicted values is performed by a computer processor; (5) generate a set of new coefficients based on the outlier removed data set and the set of previous coefficients, wherein the generation of the set of new coefficients is performed by the computer processor; (6) generate a set of performance values based on the set of new model predicted values and the set of actual values; wherein the set of model performance values comprises: a second standard error, and a second coefficient of determination; repeat steps (1)-(6), while substituting the set of new coefficients for the set of coefficients from the previous iteration, unless: a performance termination criteria is satisfied, wherein the performance termination criteria comprises: a standard error, and a coefficient of determination, and wherein satisfying the performance termination criteria comprises: the standard error termination value is greater than the difference between the first and second standard error, and the coefficient of determination termination value is greater than the difference between the first and second coefficient of determination; and store the set of new model predicted values in a computer data medium.

Another embodiment of the present invention includes a system comprising: a server, comprising: a processor, and a storage subsystem; a database stored by the storage subsystem comprising: a data set, a computer program stored by the storage subsystem comprising instructions that, when executed, cause the processor to: select an error criteria; select a data set; select a set of actual values; select an initial set of model predicted values; determine a set of errors based on the set of model predicted values and the set of actual values; (1) determine a set of error threshold values based on the complete set of errors and the error criteria; (2) generate an outlier removed data set, wherein the filtering is based on the data set and the set of error threshold values; (3) generate a set of outlier bias reduced model predicted values based on the outlier removed data set and the complete set of model predicted values, wherein the generation of the set of outlier bias reduced model predicted values is performed by a computer processor; (4) determine a set of errors based on the set of outlier bias reduction model predicted values and the corresponding set of actual values; repeat steps (1)-(4), while substituting the set of outlier bias reduction model predicted values for the set of model predicted values unless: a performance termination criteria is satisfied; and store the set of outlier bias reduction factors in a computer data medium.

Another embodiment of the present invention includes a system comprising: a server, comprising: a processor, and a storage subsystem; a database stored by the storage subsystem comprising: a data set, a computer program stored by the storage subsystem comprising instructions that, when executed, cause the processor to: determine a target variable; identify a plurality of variables for the facility, wherein the plurality of variables comprises: a plurality of direct variables for the facility that influence the target variable; and a set of transformed variables for the facility, each transformed variable is a function of at least one primary facility variable that influences the target variable; select an error criteria comprising: an absolute error, and a relative error; obtain a data set, wherein the data set comprises values for the plurality of variables, and select a set of actual values of the target variable; select an initial set of coefficients; generate a set of model predicted values by applying the set of model coefficients to the data set; determine a set of performance values based on the set of model predicted values and the set of actual values, wherein the set of performance values comprises: a first standard error, and a first coefficient of determination; (1) determine a set of errors based on the set of model predicted values and the set of actual values, wherein the relative error is calculated using the formula: Relative Error_(k)=((Predicted Value_(k)−Actual Value_(k))/Actual Value_(k))², wherein ‘k’ is a reference number, and wherein the absolute error is calculated using the formula: Absolute Error_(k)=(Predicted Value_(k)−Actual Value_(k))²; (2) determine a set of error threshold values based on the set of errors and the error criteria for the complete data set; (3) generate an outlier removed data set by removing data with error values greater than or equal to the error threshold values, wherein the filtering is based on the data set and the set of error threshold values; (4) generate a set of new coefficients based on the outlier removed dataset and the set of previous coefficients; (5) generate a set of outlier bias reduced model values based on the outlier removed data set and the set of coefficients and minimizing an error between the set of predicted values and the set of actual values using at least one of: a linear optimization model, and a nonlinear optimization model; (5) determine a set of updated performance values based on the set of outlier bias reduced model predicted values and the set of actual values, wherein the set of updated performance values comprises: a second standard error, and a second coefficient of determination; repeat steps (1)-(5), while substituting the set of new coefficients for the set of coefficients from the previous iteration, unless: a performance termination criteria is satisfied, wherein the performance termination criteria comprises: a standard error termination value, and a coefficient of determination termination value, and wherein satisfying the performance termination criteria comprises the standard error termination value is greater than the difference between the first and second standard error, and the coefficient of determination termination value is greater than the difference between the first and second coefficient of determination; and storing the set of outlier bias reduction factors in a computer data medium.

Yet another embodiment includes a system for assessing the viability of a data set as used in developing a model comprising: a server, comprising: a processor, and a storage subsystem; a database stored by the storage subsystem comprising: a target data set comprising a plurality of model predicted values; a computer program stored by the storage subsystem comprising instructions that, when executed, cause the processor to: generate a random target data set; select a set of bias criteria values; generate outlier bias reduced data sets based on the target data set and each of the selected bias criteria values; generate an outlier bias reduced random target data set based on the random target data set and each of the selected bias criteria values; calculate a set of error values for the outlier bias reduced target data set and the outlier bias reduced random target data set; calculate a set of correlation coefficients for the outlier bias reduced target data set and the outlier bias reduced random target data set; generate bias criteria curves for the target data set and the random target data set based on the corresponding error value and correlation coefficient for each selected bias criteria; and compare the bias criteria curve for the target data set to the bias criteria curve for the random target data set. The processor generates the outlier bias reduced target data set and the outlier bias reduced random target data set using the Dynamic Outlier Bias Removal methodology. The random target data set can comprise of randomized data values developed from values within the range of the plurality of data values. Also, the set of error values can comprise a set of standard errors, and the set of correlation coefficients comprises a set of coefficient of determination values. In another embodiment, the program further comprises instructions that, when executed, cause the processor to generate automated advice based on comparing the bias criteria curve for the target data set to the bias criteria curve for the random target data set. Advice can be generated based on parameters selected by analysts, such as a correlation coefficient threshold and/or an error threshold. In yet another embodiment, the system's database further comprises an actual data set comprising a plurality of actual data values corresponding to the model predicted values, and the program further comprises instructions that, when executed, cause the processor to: generate a random actual data set based on the actual data set; generate an outlier bias reduced actual data set based on the actual data set and each of the selected bias criteria values; generate an outlier bias reduced random actual data set based on the random actual data set and each of the selected bias criteria values; generate, for each selected bias criteria, a random data plot based on the outlier bias reduced random target data set and the outlier bias reduced random actual data; generate, for each selected bias criteria, a realistic data plot based on the outlier bias reduced target data set and the outlier bias reduced actual target data set; and compare the random data plot with the realistic data plot corresponding to each of the selected bias criteria.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a flowchart illustrating an embodiment of the data outlier identification and removal method.

FIG. 2 is a flowchart illustrating an embodiment of the data outlier identification and removal method for data quality operations.

FIG. 3 is a flowchart illustrating an embodiment of the data outlier identification and removal method for data validation.

FIG. 4 is an illustrative node for implementing a method of the invention.

FIG. 5 is an illustrative graph for quantitative assessment of a data set.

FIGS. 6A and 6B are illustrative graphs for qualitative assessment of the data set of FIG. 5, illustrating the randomized and realistic data set, respectively, for the entire data set.

FIGS. 7A and 7B are illustrative graphs for qualitative assessment of the data set of FIG. 5, illustrating the randomized and realistic data set, respectively, after removal of 30% of the data as outliers.

FIGS. 8A and 8B are illustrative graphs for qualitative assessment of the data set of FIG. 5, illustrating the randomized and realistic data set, respectively, after removal of 50% of the data as outliers.

DETAILED DESCRIPTION OF THE INVENTION

The following disclosure provides many different embodiments, or examples, for implementing different features of a system and method for accessing and managing structured content. Specific examples of components, processes, and implementations are described to help clarify the invention. These are merely examples and are not intended to limit the invention from that described in the claims. Well-known elements are presented without detailed description so as not to obscure the preferred embodiments of the present invention with unnecessary detail. For the most part, details unnecessary to obtain a complete understanding of the preferred embodiments of the present invention have been omitted inasmuch as such details are within the skills of persons of ordinary skill in the relevant art.

A mathematical description of one embodiment of Dynamic Outlier Bias Reduction is shown as follows:

Nomenclature

-   -   {circumflex over (X)}—Set of all data records: {circumflex over         (X)}={circumflex over (X)}_(k)+{circumflex over (X)}_(Ck),         where:         -   {circumflex over (X)}_(k)—Set of accepted data records for             the k^(th) iteration         -   {circumflex over (X)}_(Ck)—Set of outlier (removed) data             records for the k^(th) iteration     -   {circumflex over (Q)}_(k)—Set of computed model predicted values         for {circumflex over (X)}_(k)     -   {circumflex over (Q)}_(Ck)—Set of outlier model predicted values         for data records, {circumflex over (X)}_(Ck)     -   Â—Set of actual values (target values) on which the model is         based     -   {circumflex over (β)}_(k→k+1)—Set of model coefficients at the         k+1^(st) iteration computed as a result of the model         computations using {circumflex over (X)}_(k)     -   M({circumflex over (X)}_(k):{circumflex over (β)}_(k→k+1))—Model         computation producing {circumflex over (Q)}_(k+1) from         {circumflex over (X)}_(k) storing model derived and         user-supplied coefficients: {circumflex over (β)}_(k→k+1)     -   C—User supplied error criteria (%)     -   Ψ({circumflex over (Q)}_(k),         —Error threshold function     -   F(Ψ, C)—Error threshold value (E)     -   {circumflex over (Ω)}_(k)—Iteration termination criteria, e.g.,         iteration count, r², standard error, etc.         Initial Computation, k=0         Initial Step 1: Using initial model coefficient estimates,         {circumflex over (β)}_(0→1), compute initial model predicted         values by applying the model to the complete data set:

{circumflex over (Q)} ₁ =M({circumflex over (X)}:{circumflex over (β)} _(0→1))

Initial Step 2: Compute initial model performance results:

{circumflex over (Ω)}₁ =f({circumflex over (Q)} ₁ ,Â,k=0,r ², standard error, etc.)

Initial Step 3: Compute model error threshold value(s):

E ₁ =F(Ψ({circumflex over (Q)} ₁ ,

,C)

Initial Step 4: Filter the data records to remove outliers:

{circumflex over (X)} ₁ ={∀x∈{circumflex over (X)}|Ψ({circumflex over (Q)} ₁ ,

<E ₁}

Iterative Computations, k>0

Iteration Step 1: Compute predicted values by applying the model to the accepted data set:

{circumflex over (Q)} _(k+1) =M({circumflex over (X)} _(k):{circumflex over (β)}_(k→k+1))

Iteration Step 2: Compute model performance results:

{circumflex over (Ω)}_(k+1) =f({circumflex over (Q)} _(k+1) ,Â,k,r ², standard error, etc.)

If termination criteria are achieved, stop, otherwise proceed to Step 3: Iteration Step 3: Compute results for removed data, {circumflex over (X)}_(Ck)={∀x∈{circumflex over (X)}|x∉{circumflex over (X)}_(k)} using current model:

{circumflex over (Q)} _(Ck+1) =M({circumflex over (X)} _(Ck):{circumflex over (β)}_(k→k+1))

Iteration Step 4: Compute model error threshold values:

E _(k+1) =F(Ψ({circumflex over (Q)} _(k+1) +{circumflex over (X)} _(Ck+1) ,

,C)

Iteration Step 5: Filter the data records to remove outliers:

{circumflex over (X)} _(k+1) ={∀x∈{circumflex over (X)}|Ψ({circumflex over (Q)} _(k+1) +{circumflex over (Q)} _(Ck+1) ,

<E _(k+1)}

Another mathematical description of one embodiment of Dynamic Outlier Bias Reduction is shown as follows:

Nomenclature

-   -   {circumflex over (X)}—Set of all data records: {circumflex over         (X)}={circumflex over (X)}_(k)+{circumflex over (X)}_(Ck),         where:         -   {circumflex over (X)}_(k)—Set of accepted data records for             the k^(th) iteration         -   {circumflex over (X)}_(Ck)—Set of outlier (removed) data             records for the k^(th) iteration     -   {circumflex over (Q)}_(k)—Set of computed model predicted values         for {circumflex over (X)}_(k)     -   {circumflex over (Q)}_(Ck)—Set of outlier model predicted values         for {circumflex over (X)}_(Ck)     -   Â—Set of actual values (target values) on which the model is         based     -   {circumflex over (β)}_(k→k+1)—Set of model coefficients at the         k+1^(st) iteration computed as a result of the model         computations using {circumflex over (X)}_(k)     -   M({circumflex over (X)}_(k):{circumflex over (β)}_(k→k+1))—Model         computation producing {circumflex over (Q)}_(k+1) from         {circumflex over (X)}_(k) storing model derived and         user-supplied coefficients: {circumflex over (β)}_(k→k+1)     -   C_(RE)—User supplied relative error criterion (%)     -   C_(AE)—User supplied absolute error criterion (%)     -   RE({circumflex over (Q)}_(k)+{circumflex over         (Q)}_(Ck),Â)—Relative error values for all data records     -   AE({circumflex over (Q)}_(k)+{circumflex over         (Q)}_(Ck),Â)—Absolute error values for all data records     -   P_(RE) _(k) —Relative error threshold value for the k^(th)         iteration where

P _(RE) _(k) =Percentile(RE({circumflex over (Q)} _(k) +{circumflex over (Q)} _(Ck) ,Â),C _(RE))

-   -   P_(AE) _(k) —Absolute error threshold value for the k^(th)         iteration where

P _(AE) _(k) =Percentile(AE({circumflex over (Q)} _(k) +{circumflex over (Q)} _(Ck) ,Â),C _(AE))

-   -   {circumflex over (Ω)}_(k)—Iteration termination criteria, e.g.,         iteration count, r², standard error, etc.         Initial Computation, k=0     -   Initial Step 1: Using initial model coefficient estimates,         {circumflex over (X)}_(0→1), compute initial model predicted         value results by applying the model to the complete data set:

{circumflex over (Q)} ₁ =M({circumflex over (X)}:{circumflex over (β)} _(0→1))

-   -   Initial Step 2: Compute initial model performance results:

{circumflex over (Ω)}₁ =f({circumflex over (X)} ₁ ,Â,k=0,r ², standard error, etc.)

-   -   Initial Step 3: Compute model error threshold values:

P _(RE) ₁ =Percentile(RE({circumflex over (Q)} ₁ ,Â)C _(RE))

P _(AE) ₁ =Percentile(AE({circumflex over (Q)} ₁ . A),C _(AE))

-   -   Initial Step 4: Filter the data records to remove outliers:

${\hat{x}}_{1} = \left\{ {{\forall{x \in \hat{X}}}{\begin{Bmatrix} {{RE}\left( {{\hat{Q}}_{1},\hat{A}} \right)} \\ {{AE}\left( {{\hat{Q}}_{1},\hat{A}} \right\}} \end{Bmatrix} < \begin{pmatrix} P_{RE} \\ P_{AE} \end{pmatrix}_{1}}} \right\}$

Iterative Computations, k>0

-   -   Iteration Step 1: Compute model predicted values by applying the         model to the outlier removed data set:)

{circumflex over (Q)} _(k+1) =M({circumflex over (X)} _(k):{circumflex over (β)}_(k→k+1))

-   -   Iteration Step 2: Compute model performance results:

{circumflex over (Ω)}_(k+1) =f({circumflex over (Q)} _(k+1) ,Â,k,r ², standard error, etc.)

If termination criteria are achieved, stop, otherwise proceed to Step 3:

-   -   Iteration Step 3: Compute results for the removed data,         {circumflex over (X)}_(Ck)={∀x∈{circumflex over         (X)}|x∉{circumflex over (X)}_(k)} using current model:

{circumflex over (Q)} _(Ck+1) =M({circumflex over (X)} _(Ck):{circumflex over (β)}_(k→k+1))

-   -   Iteration Step 4: Compute model error threshold values:

P _(RE) _(k+1) =Percentile(RE({circumflex over (Q)} _(k+1) +{circumflex over (Q)} _(Ck+1) ,Â),C _(RE))

P _(AE) _(k+1) =Percentile(AE({circumflex over (Q)} _(k+1) +{circumflex over (Q)} _(Ck+1) ,Â),C _(AE))

-   -   Iteration Step 5: Filter the data records to remove outliers:

${\hat{x}}_{k + 1} = \left\{ {{\forall{x \in \hat{X}}}{\begin{Bmatrix} {{RE}\left( {{\hat{Q}}_{k + 1} + {{\hat{Q}}_{{Ck} + 1}\hat{,A}}} \right)} \\ {{AE}\left( {{\hat{Q}}_{k + 1} + {{\hat{Q}}_{{Ck} + 1}\hat{,A}}} \right\}} \end{Bmatrix} < \begin{pmatrix} P_{RE} \\ P_{AE} \end{pmatrix}_{k + 1}}} \right\}$

Increment k and proceed to Iteration Step 1.

After each iteration where new model coefficients are computed from the current censored dataset, the removed data from the previous iteration plus the current censored data are recombined. This combination encompasses all data values in the complete dataset. The current model coefficients are then applied to the complete dataset to compute a complete set of predicted values. The absolute and relative errors are computed for the complete set of predicted values and new bias criteria percentile threshold values are computed. A new censored dataset is created by removing all data values where the absolute or relative errors are greater than the threshold values and the nonlinear optimization model is then applied to the newly censored dataset computing new model coefficients. This process enables all data values to be reviewed every iteration for their possible inclusion in the model dataset. It is possible that some data values that were excluded in previous iterations will be included in subsequent iterations as the model coefficients converge on values that best fit the data.

In one embodiment, variations in GHG emissions can result in overestimation or underestimation of emission results leading to bias in model predicted values. These non-industrial influences, such as environmental conditions and errors in calculation procedures, can cause the results for a particular facility to be radically different from similar facilities, unless the bias in the model predicted values is removed. The bias in the model predicted values may also exist due to unique operating conditions.

The bias can be removed manually by simply removing a facility's data from the calculation if analysts are confident that a facility's calculations are in error or possess unique, extenuating characteristics. Yet, when measuring a facility performance from many different companies, regions, and countries, precise a priori knowledge of the data details is not realistic. Therefore any analyst-based data removal procedure has the potential for adding undocumented, non-data supported biases to the model results.

In one embodiment, Dynamic Outlier Bias Reduction is applied to a procedure that uses the data and a prescribed overall error criteria to determine statistical outliers that are removed from the model coefficient calculations. This is a data-driven process that identifies outliers using a data produced global error criteria using for example, the percentile function. The use of Dynamic Outlier Bias Reduction is not limited to the reduction of bias in model predicted values, and its use in this embodiment is illustrative and exemplary only. Dynamic Outlier Bias Reduction may also be used, for example, to remove outliers from any statistical data set, including use in calculation of, but not limited to, arithmetic averages, linear regressions, and trend lines. The outlier facilities are still ranked from the calculation results, but the outliers are not used in the filtered data set applied to compute model coefficients or statistical results.

A standard procedure, commonly used to remove outliers, is to compute the standard deviation (σ) of the data set and simply define all data outside a 2σ interval of the mean, for example, as outliers. This procedure has statistical assumptions that, in general, cannot be tested in practice. The Dynamic Outlier Bias Reduction method description applied in an embodiment of this invention, is outlined in FIG. 1, uses both a relative error and absolute error. For example: for a facility, ‘m’:

Relative Error_(m)=((Predicted Value_(m)−Actual Value_(m))/Actual Value_(m))²  (1)

Absolute Error_(m)=(Predicted Value_(m)−Actual Value_(m))²  (2)

In Step 110, the analyst specifies the error threshold criteria that will define outliers to be removed from the calculations. For example using the percentile operation as the error function, a percentile value of 80 percent for relative and absolute errors could be set. This means that data values less than the 80th percentile value for a relative error and less than the 80th percentile value for absolute error calculation will be included and the remaining values are removed or considered as outliers. In this example, for a data value to avoid being removed, the data value must be less than both the relative and absolute error 80th percentile values. However, the percentile thresholds for relative and absolute error may be varied independently, and, in another embodiment, only one of the percentile thresholds may be used.

In Step 120, the model standard error and coefficient of determination (r²) percent change criteria are specified. While the values of these statistics will vary from model to model, the percent change in the preceding iteration procedure can be preset, for example, at 5 percent. These values can be used to terminate the iteration procedure. Another termination criteria could be the simple iteration count.

In Step 130, the optimization calculation is performed, which produces the model coefficients and predicted values for each facility.

In Step 140, the relative and absolute errors for all facilities are computed using Eqns. (1) and (2).

In Step 150, the error function with the threshold criteria specified in Step 110 is applied to the data computed in Step 140 to determine outlier threshold values.

In Step 160, the data is filtered to include only facilities where the relative error, absolute error, or both errors, depending on the chosen configuration, are less than the error threshold values computed in Step 150.

In Step 170, the optimization calculation is performed using only the outlier removed data set.

In Step 180, the percent change of the standard error and r² are compared with the criteria specified in Step 120. If the percent change is greater than the criteria, the process is repeated by returning to Step 140. Otherwise, the iteration procedure is terminated in step 190 and the resultant model computed from this Dynamic Outlier Bias Reduction criteria procedure is completed. The model results are applied to all facilities regardless of their current iterative past removed or admitted data status.

In another embodiment, the process begins with the selection of certain iterative parameters, specifically:

(1) an absolute error and relative error percentile value wherein one, the other or both may be used in the iterative process,

(2) a coefficient of determination (also known as r²) improvement value, and

(3) a standard error improvement value.

The process begins with an original data set, a set of actual data, and either at least one coefficient or a factor used to calculate predicted values based on the original data set. A coefficient or set of coefficients will be applied to the original data set to create a set of predicted values. The set of coefficients may include, but is not limited to, scalars, exponents, parameters, and periodic functions. The set of predicted data is then compared to the set of actual data. A standard error and a coefficient of determination are calculated based on the differences between the predicted and actual data. The absolute and relative error associated with each one of the data points is used to remove data outliers based on the user-selected absolute and relative error percentile values. Ranking the data is not necessary, as all data falling outside the range associated with the percentile values for absolute and/or relative error are removed from the original data set. The use of absolute and relative errors to filter data is illustrative and for exemplary purposes only, as the method may be performed with only absolute or relative error or with another function.

The data associated with the absolute and relative error within a user-selected percentile range is the outlier removed data set, and each iteration of the process will have its own filtered data set. This first outlier removed data set is used to determine predicted values that will be compared with actual values. At least one coefficient is determined by optimizing the errors, and then the coefficient is used to generate predicted values based on the first outlier removed data set. The outlier bias reduced coefficients serve as the mechanism by which knowledge is passed from one iteration to the next.

After the first outlier removed data set is created, the standard error and coefficient of determination are calculated and compared with the standard error and coefficient of determination of the original data set. If the difference in standard error and the difference in coefficient of determination are both below their respective improvement values, then the process stops. However, if at least one of the improvement criteria is not met, then the process continues with another iteration. The use of standard error and coefficient of determination as checks for the iterative process is illustrative and exemplary only, as the check can be performed using only the standard error or only the coefficient of determination, a different statistical check, or some other performance termination criteria (such as number of iterations).

Assuming that the first iteration fails to meet the improvement criteria, the second iteration begins by applying the first outlier bias reduced data coefficients to the original data to determine a new set of predicted values. The original data is then processed again, establishing absolute and relative error for the data points as well as the standard error and coefficient of determination values for the original data set while using the first outlier removed data set coefficients. The data is then filtered to form a second outlier removed data set and to determine coefficients based on the second outlier removed data set.

The second outlier removed data set, however, is not necessarily a subset of the first outlier removed data set and it is associated with second set of outlier bias reduced model coefficients, a second standard error, and a second coefficient of determination. Once those values are determined, the second standard error will be compared with the first standard error and the second coefficient of determination will be compared against the first coefficient of determination.

If the improvement value (for standard error and coefficient of determination) exceeds the difference in these parameters, then the process will end. If not, then another iteration will begin by processing the original data yet again; this time using the second outlier bias reduced coefficients to process the original data set and generate a new set of predicted values. Filtering based on the user-selected percentile value for absolute and relative error will create a third outlier removed data set that will be optimized to determine a set of third outlier bias reduced coefficients. The process will continue until the error improvement or other termination criteria are met (such as a convergence criteria or a specified number of iterations).

The output of this process will be a set of coefficients or model parameters, wherein a coefficient or model parameter is a mathematical value (or set of values), such as, but not limited to, a model predicted value for comparing data, slope and intercept values of a linear equation, exponents, or the coefficients of a polynomial. The output of Dynamic Outlier Bias Reduction will not be an output value of its own right, but rather the coefficients that will modify data to determine an output value.

In another embodiment, illustrated in FIG. 2, Dynamic Outlier Bias Reduction is applied as a data quality technique to evaluate the consistency and accuracy of data to verify that the data is appropriate for a specific use. For data quality operations, the method may not involve an iterative procedure. Other data quality techniques may be used alongside Dynamic Outlier Bias Reduction during this process. The method is applied to the arithmetic average calculation of a given data set. The data quality criteria, for this example is that the successive data values are contained within some range. Thus, any values that are spaced too far apart in value would constitute poor quality data. Error terms are then constructed of successive values of a function and Dynamic Outlier Bias Reduction is applied to these error values.

In Step 210 the initial data is listed in any order.

Step 220 constitutes the function or operation that is performed on the dataset. In this embodiment example, the function and operation is the ascending ranking of the data followed by successive arithmetic average calculations where each line corresponds to the average of all data at and above the line.

Step 230 computes the relative and absolute errors from the data using successive values from the results of Step 220.

Step 240 allows the analyst to enter the desired outlier removal error criteria (%). The Quality Criteria Value is the resultant value from the error calculations in Step 230 based on the data in Step 220.

Step 250 shows the data quality outlier filtered dataset. Specific values are removed if the relative and absolute errors exceed the specified error criteria given in Step 240.

Step 260 shows the arithmetic average calculation comparison between the complete and outlier removed datasets. The analyst is the final step as in all applied mathematical or statistical calculations judging if the identified outlier removed data elements are actually poor quality or not. The Dynamic Outlier Bias Reduction system and method eliminates the analyst from directly removing data but best practice guidelines suggest the analyst review and check the results for practical relevance.

In another embodiment illustrated in FIG. 3, Dynamic Outlier Bias Reduction is applied as a data validation technique that tests the reasonable accuracy of a data set to determine if the data are appropriate for a specific use. For data validation operations, the method may not involve an iterative procedure. In this example, Dynamic Outlier Bias Reduction is applied to the calculation of the Pearson Correlation Coefficient between two data sets. The Pearson Correlation Coefficient can be sensitive to values in the data set that are relatively different than the other data points. Validating the data set with respect to this statistic is important to ensure that the result represents what the majority of data suggests rather than influence of extreme values. The data validation process for this example is that successive data values are contained within a specified range. Thus, any values that are spaced too far apart in value (e.g. outside the specified range) would signify poor quality data. This is accomplished by constructing the error terms of successive values of the function. Dynamic Outlier Bias Reduction is applied to these error values, and the outlier removed data set is validated data.

In Step 310, the paired data is listed in any order.

Step 320 computes the relative and absolute errors for each ordered pair in the dataset.

Step 330 allows the analyst to enter the desired data validation criteria. In the example, both 90% relative and absolute error thresholds are selected. The Quality Criteria Value entries in Step 330 are the resultant absolute and relative error percentile values for the data shown in Step 320.

Step 340 shows the outlier removal process where data that may be invalid is removed from the dataset using the criteria that the relative and absolute error values both exceed the values corresponding to the user selected percentile values entered in Step 330. In practice other error criteria may be used and when multiple criteria are applied as shown in this example, any combination of error values may be applied to determine the outlier removal rules.

Step 350 computes the data validated and original data values statistical results. In this case, the Pearson Correlation Coefficient. These results are then reviewed for practical relevance by the analyst.

In another embodiment, Dynamic Outlier Bias Reduction is used to perform a validation of an entire data set. Standard error improvement value, coefficient of determination improvement value, and absolute and relative error thresholds are selected, and then the data set is filtered according to the error criteria. Even if the original data set is of high quality, there will still be some data that will have error values that fall outside the absolute and relative error thresholds. Therefore, it is important to determine if any removal of data is necessary. If the outlier removed data set passes the standard error improvement and coefficient of determination improvement criteria after the first iteration, then the original data set has been validated, since the filtered data set produced a standard error and coefficient of determination that too small to be considered significant (e.g. below the selected improvement values).

In another embodiment, Dynamic Outlier Bias Reduction is used to provide insight into how the iterations of data outlier removal are influencing the calculation. Graphs or data tables are provided to allow the user to observe the progression in the data outlier removal calculations as each iteration is performed. This stepwise approach enables analysts to observe unique properties of the calculation that can add value and knowledge to the result. For example, the speed and nature of convergence can indicate the influence of Dynamic Outlier Bias Reduction on computing representative factors for a multi-dimensional data set.

As an illustration, consider a linear regression calculation over a poor quality data set of 87 records. The form of the equation being regressed is y=mx+b. Table 1 shows the results of the iterative process for 5 iterations. Notice that using relative and absolute error criteria of 95%, convergence is achieved in 3 iterations. Changes in the regression coefficients can be observed and the Dynamic Outlier Bias Reduction method reduced the calculation data set based on 79 records. The relatively low coefficient of determination (r²=39%) suggests that a lower (<95%) criteria should be tested to study the additional outlier removal effects on the r² statistic and on the computed regression coefficients.

TABLE 1 Dynamic Outlier Bias Reduction Example: Linear Regression at 95% Iteration N Error r² m b 0 87 3.903 25% −0.428 41.743 1 78 3.048 38% −0.452 43.386 2 83 3.040 39% −0.463 44.181 3 79 3.030 39% −0.455 43.630 4 83 3.040 39% −0.463 44.181 5 79 3.030 39% −0.455 43.630

In Table 2 the results of applying Dynamic Outlier Bias Reduction are shown using the relative and absolute error criteria of 80%. Notice that a 15 percentage point (95% to 80%) change in outlier error criteria produced 35 percentage point (39% to 74%) increase in r² with a 35% additional decrease in admitted data (79 to 51 records included). The analyst can use a graphical view of the changes in the regression lines with the outlier removed data and the numerical results of Tables 1 and 2 in the analysis process to communicate the outlier removed results to a wider audience and to provide more insights regarding the effects of data variability on the analysis results.

TABLE 2 Dynamic Outlier Bias Reduction Example: Linear Regression at 80% Iteration N Error r² m b 0 87 3.903 25% −0.428 41.743 1 49 1.607 73% −0.540 51.081 2 64 1.776 68% −0.561 52.361 3 51 1.588 74% −0.558 52.514 4 63 1.789 68% −0.559 52.208 5 51 1.588 74% −0.558 52.514

As illustrated in FIG. 4, one embodiment of system used to perform the method includes a computing system. The hardware consists of a processor 410 that contains adequate system memory 420 to perform the required numerical computations. The processor 410 executes a computer program residing in system memory 420 to perform the method. Video and storage controllers 430 may be used to enable the operation of display 440. The system includes various data storage devices for data input such as floppy disk units 450, internal/external disk drives 460, internal CD/DVDs 470, tape units 480, and other types of electronic storage media 490. The aforementioned data storage devices are illustrative and exemplary only. These storage media are used to enter data set and outlier removal criteria into to the system, store the outlier removed data set, store calculated factors, and store the system-produced trend lines and trend line iteration graphs. The calculations can apply statistical software packages or can be performed from the data entered in spreadsheet formats using Microsoft Excel, for example. The calculations are performed using either customized software programs designed for company-specific system implementations or by using commercially available software that is compatible with Excel or other database and spreadsheet programs. The system can also interface with proprietary or public external storage media 300 to link with other databases to provide data to be used with the Dynamic Outlier Bias Reduction system and method calculations. The output devices can be a telecommunication device 510 to transmit the calculation worksheets and other system produced graphs and reports via an intranet or the Internet to management or other personnel, printers 520, electronic storage media similar to those mentioned as input devices 450, 460, 470, 480, 490 and proprietary storage databases 530. These output devices used herein are illustrative and exemplary only.

As illustrated in FIGS. 5, 6A, 6B, 7A, 7B, 8A, and 8B, in one embodiment, Dynamic Outlier Bias Reduction can be used to quantitatively and qualitatively assess the quality of the data set based on the error and correlation of the data set's data values, as compared to the error and correlation of a benchmark dataset comprised of random data values developed from within an appropriate range. In one embodiment, the error can be designated to be the data set's standard error, and the correlation can be designated to be the data set's coefficient of determination (r²). In another embodiment, correlation can be designated to be the Kendall rank correlation coefficient, commonly referred to as Kendall's tau (τ) coefficient. In yet another embodiment, correlation can be designated to be the Spearman's rank correlation coefficient, or Spearman's ρ (rho) coefficient. As explained above, Dynamic Outlier Bias Reduction is used to systematically remove data values that are identified as outliers, not representative of the underlying model or process being described. Normally, outliers are associated with a relatively small number of data values. In practice, however, a dataset could be unknowingly contaminated with spurious values or random noise. The graphical illustration of FIGS. 5, 6A, 6B, 7A, 7B, 8A, and 8B illustrate how the Dynamic Outlier Bias Reduction system and method can be applied to identify situations where the underlying model is not supported by the data. The outlier reduction is performed by removing data values for which the relative and/or absolute errors, computed between the model predicted and actual data values, are greater than a percentile-based bias criteria, e.g. 80%. This means that the data values are removed if either the relative or absolute error percentile values are greater than the percentile threshold values associated with the 80th percentile (80% of the data values have an error less than this value.)

As illustrated in FIG. 5, both a realistic model development dataset and a dataset of random values developed within the range of the actual dataset are compared. Because in practice the analysts typically do not have prior knowledge of any dataset contamination, such realization must come from observing the iterative results from several model calculations using the dynamic outlier bias reduction system and method. FIG. 5 illustrates an exemplary model development calculation results for both datasets. The standard error, a measure of the amount of model unexplained error, is plotted versus the coefficient of determination (%) or r², representing how much data variation is explained by the model. The percentile values next to each point represent the bias criteria. For example, 90% signifies that data values for relative or absolute error values greater than the 90th percentile are removed from the model as outliers. This corresponds to removing 10% of the data values with the highest errors each iteration.

As FIG. 5 illustrates, for both the random and realistic dataset models, error is reduced by increasing the bias criteria, i.e., the standard error and the coefficient of determination are improved for both datasets. However, the standard error for the random dataset is two to three times larger than the realistic model dataset. The analyst may use a coefficient of determination requirement of 80%, for example, as an acceptable level of precision for determining model parameters. In FIG. 5, an r² of 80% is achieved at a 70% bias criteria for the random dataset, and at an approximately 85% bias criteria for the realistic data. However, the corresponding standard error for the random dataset is over twice as large as the realistic dataset. Thus, by systematically running the model dataset analysis with different bias criteria and repeating the calculations with a representative spurious dataset and plotting the result as shown in FIG. 5, analysts can assess acceptable bias criteria (i.e., the acceptable percentage of data values removed) for a data set, and accordingly, the overall dataset quality. Moreover, such systematic model dataset analysis may be used to automatically render advice regarding the viability of a data set as used in developing a model based on a configurable set of parameters. For example, in one embodiment wherein a model is developed using Dynamic Outlier Bias Removal for a dataset, the error and correlation coefficient values for the model dataset and for a representative spurious dataset, calculated under different bias criteria, may be used to automatically render advice regarding the viability of the data set in supporting the developed model, and inherently, the viability of the developed model in supporting the dataset.

As illustrated in FIG. 5, observing the behavior of these model performance values for several cases provides a quantitative foundation for determining whether the data values are representative of the processes being modeled. For example, referring to FIG. 5, the standard error for the realistic data set at a 100% bias criteria (i.e., no bias reduction), corresponds to the standard error for the random data set at approximately 65% bias criteria (i.e., 35% of the data values with the highest errors removed). Such a finding supports the conclusion that data is not contaminated.

In addition to the above-described quantitative analysis facilitated by the illustrative graph of FIG. 5, Dynamic Outlier Bias Reduction can be utilized in an equally, if not more powerful, subjective procedure to help assess a dataset's quality. This is done by plotting the model predicted values against the data given actual target values for both the outlier and included results.

FIGS. 6A and 6B illustrate these plots for the 100% points of both the realistic and random curves in FIG. 5. The large scatter in FIG. 6A is consistent with the arbitrary target values and the resultant inability of the model to fit this intentional randomness. FIG. 6B is consistent and common with the practical data collection in that the model prediction and actual values are more grouped around the line whereon model predicted values equal actual target values (hereinafter Actual=Predicted line).

FIGS. 7A and 7B illustrate the results from the 70% points in FIG. 5 (i.e., 30% of data removed as outliers). In FIGS. 7A and 7B the outlier bias reduction is shown to remove the points most distant from the Actual=Predicted line, but the large variation in model accuracy between FIGS. 7A and 7B suggests that this dataset is representative of the processes being modeled.

FIGS. 8A and 8B show the results from the 50% points in FIG. 5 (i.e., 50% of data removed as outliers). In this case about half of the data is identified as outliers and even with this much variation removed from the dataset, the model, in FIG. 8A, still does not closely describe the random dataset. The general variation around the Actual=Predicted line is about the same as in the FIGS. 6A and 7A taking into account the removed data in each case. FIG. 8B shows that with 50% of the variability removed, the model was able to produce predicted results that closely match the actual data. Analyzing these types of visual plots in addition to the analysis of performance criteria shown in FIG. 5 can be used by analysts to assess the quality of actual datasets in practice for model development. While FIGS. 5, 6A, 6B, 7A, 7B, 8A, and 8B illustrate visual plots wherein the analysis is based on performance criteria trends corresponding to various bias criteria values, in other embodiments, the analysis can be based on other variables that correspond to bias criteria values, such as model coefficient trends corresponding to various bias criteria selected by the analyst.

The foregoing disclosure and description of the preferred embodiments of the invention are illustrative and explanatory thereof and it will be understood by those skilled in the art that various changes in the details of the illustrated system and method may be made without departing from the scope of the invention. 

We claim:
 1. A computer implemented method comprising the steps of: electronically receiving, by a specially programmed computing system, a target data set comprising all actual data values collected for at least one target variable; generating, by the specially programmed computing system, a random data set based on the target data set; electronically receiving, by the specially programmed computing system, a plurality of bias criteria values used to determine one or more outliers; generating, by the specially programmed computing system, a plurality of outlier bias reduced target data sets for each of the bias criteria values using the target data set and a model; generating, by the specially programmed computing system, a plurality of outlier bias reduced random data sets for each of the bias criteria values using the random data set and the model; calculating, by the specially programmed computing system, at least one target error value for each of the outlier bias reduced target data sets and at least one random error value for each of the outlier bias reduced random data sets; calculating, by the specially programmed computing system, at least one target correlation value for each of the outlier bias reduced target data sets and at least one random correlation value for each of the outlier bias reduced random data sets; constructing, by the specially programmed computing system, a first bias criteria curve for the target data set based on the at least one target error value and the at least one target correlation value for each of the outlier bias reduced target data sets; constructing, by the specially programmed computing system, a second bias criteria curve for the random data set on based on the at least one random error value and the at least one random correlation value for each of the outlier bias reduced random data sets; and comparing, by the specially programmed computing system, the first bias criteria curve and the second bias criteria curve to determine viability of the target data set used to develop the model.
 2. The computer-implemented method of claim 1, wherein the random data set comprises a plurality of random data values generated within a range of a plurality of predicted values of the model.
 3. The computer-implemented method of claim 1, further comprising translating, by the specially programmed computing system, the comparison of the first bias criteria curve and the second bias criteria curve to an automated advice message that indicates the viability of the target data set used to develop the model.
 4. The computer-implemented method of claim 1, wherein the at least one target error value is a standard error, and wherein the at least one target correlation value is a coefficient of determination value.
 5. The computer-implemented method of claim 1, wherein generating, by the specially programmed computing system, the plurality of outlier bias reduced target data sets for each of the bias criteria values using the target data set and the model comprises: for each of the bias criteria values: generating, by the specially programmed computing system, a plurality of model predicted values for the target data set by applying the model to the target data set; computing, by the specially programmed computing system, a plurality of error values using the target data set and the model predicted values; comparing, by the specially programmed computing system, the error values with the corresponding bias criteria value; removing, by the specially programmed computing system, outliers within the target data set to form the corresponding outlier bias reduced target data set determined from the comparison of the error values with the corresponding bias criteria value; and optimizing, by the specially programmed computing system, the model to form an updated model based on the corresponding outlier bias reduced target data set.
 6. The computer-implemented method of claim 5, wherein the error values comprises a plurality of relative error values and a plurality of absolute error values.
 7. The computer-implemented method of claim 5, wherein generating, by the specially programmed computing system, the plurality of outlier bias reduced target data sets for each of the bias criteria values using the target data set further comprises: for each of the bias criteria values: comparing, by the specially programmed computing system, the error values with a predefined termination criteria to determine termination of optimizing the model; and generating, by the specially programmed computing system, a plurality of second model predicted values for the target data set by applying the updated model to the target data set when the comparison of the error values and the predefined termination criteria do not represent termination of optimizing the model.
 8. The computer-implemented method of claim 1, wherein comparing, by the specially programmed computing system, the first bias criteria curve and the second bias criteria curve for determining viability of the target data set used to develop the model comprises: determining, by the specially programmed computing system, a first bias criteria value on the first bias criteria curve based on the at least one target error value; determining, by the specially programmed computing system, a second bias criteria value on the second bias criteria curve based on the at least one random error value; and comparing, by the specially programmed computing system, the first bias criteria value with the second bias criteria value, wherein the at least on target error value and the at least one random error value are the same.
 9. The computer-implemented method of claim 1, further comprising: determining an influence of the outlier bias reduction for each bias criteria value by comparing a number of iterations to optimize the updated model for each of the bias criteria values; and comparing differences in the at least one target correlation value for each of the bias criteria values.
 10. The computer-implemented method of claim 1, wherein the random data set comprises all random data values based on the target data set, and wherein generating, by the specially programmed computing system, the plurality of outlier bias reduced random data sets for each of the bias criteria values using the random data set and the model comprises: for each of the bias criteria values: generating, by the specially programmed computing system, a plurality of model predicted values for the random data set by applying the model to the random data set; computing, by the specially programmed computing system, a plurality of error values using the random data set and the model predicted values; comparing, by the specially programmed computing system, the error values with the corresponding bias criteria value; removing, by the specially programmed computing system, outliers within the random data set to form the corresponding outlier bias reduced random data set determined from the comparison of the error values with the corresponding bias criteria value; and optimizing, by the specially programmed computing system, the model for form an updated model based on the corresponding outlier bias reduced random data set.
 11. A system specialized for assessing the viability of a data set as used in developing a model comprising: a server, comprising a processor and a non-transient storage subsystem; a database stored by the non-transient storage subsystem comprising a target data set comprising all actual data values collected for at least one target variable; a computer program stored by the non-transient storage subsystem comprising instructions, when executed by the processor, cause the system specialized for assessing the viability of the target data set for developing a model to perform at least the following: generate a random data set from the target data set; obtain a set of bias criteria values used to determine one or more outliers; perform dynamic outlier bias reduction on the target data set for one or more bias criteria values of the set of bias criteria values to generate one or more outlier bias reduced target data sets; perform dynamic outlier bias reduction on the random data set for the one or more bias criteria values of the set of bias criteria values to generate one or more outlier bias reduced random data sets; calculate a set of target error values for the one or more outlier bias reduced target data sets and a set of random error values for the one or more outlier bias reduced random data sets; calculate a set of target correlation coefficients for the one or more outlier bias reduced target data sets and a set of random correlation coefficients for the outlier bias reduced random data set; construct a first bias criteria curve for the target data set and a second bias criteria curve for the random data set from the one or more bias criteria values, the set of target error values, the set of random error values, the set of target correlation coefficients, and the set of random correlation coefficients; and compare the first bias criteria curve and the second bias criteria curve for determining viability of the target data set used to develop the model.
 12. The system of claim 11, wherein the instructions, when executed by the processor, cause the system specialized for assessing the viability of the target data set for developing the model to translate the comparison of the first bias criteria curve and the second bias criteria curve to an automated advice message that indicates the viability of the target data set used to develop the model.
 13. The system of claim 11, wherein the instructions, when executed by the processor, cause the system specialized for assessing the viability of the target data set for developing the model to perform dynamic outlier bias reduction on the target data set for one or more bias criteria values of the set of bias criteria values to generate one or more outlier bias reduced target data sets by performing at least the following: for each of the one or more bias criteria values: generate a plurality of model predicted values for the target data set by applying the model to the target data set; compute a plurality of error values determined from the target data set and the model predicted values; compare the error values with the corresponding bias criteria value; remove outliers within the target data set to form the corresponding outlier bias reduced target data set determined from the comparison of the error values with the corresponding bias criteria value; and optimize the model to from an updated model determined from the corresponding outlier bias reduced target data set.
 14. The system of claim 13, wherein the instructions, when executed by the processor, cause the system specialized for assessing the viability of the target data set for developing the model to perform dynamic outlier bias reduction on the target data set for one or more bias criteria values of the set of bias criteria values to generate one or more outlier bias reduced target data sets by performing at least the following: for each of the one or more bias criteria values: compare the error values with a predefined termination criteria to determine termination of optimizing the model; and generate a plurality of second model predicted values for the target data set by applying the updated model to the target data set when the comparison of the error values and the predefined termination criteria do not represent termination of optimizing the model.
 15. The system of claim 11, wherein the instructions, when executed by the processor, cause the system specialized for assessing the viability of the target data set for developing the model to compare the first bias criteria curve and the second bias criteria curve for determining viability of the target data set used to develop the model by performing at least the following: determining a first bias criteria value on the first bias criteria curve that corresponds to a first target error value of the set of target error values; determining a second bias criteria value on the second bias criteria curve that corresponds to a first random error value of the set of random error values; and comparing the first bias criteria value with the second bias criteria value, wherein the first target error value and the first random error value are the same.
 16. The system of claim 11, wherein the instructions, when executed by the processor, cause the system specialized for assessing the viability of the target data set for developing the model to determine an influence of the dynamic outlier bias reduction for each bias criteria value by comparing a number of iterations to optimize the model for each of the bias criteria values and comparing the differences in the set of target correlation coefficients.
 17. The system of claim 11, wherein the instructions, when executed by the processor, cause the system specialized for assessing the viability of the target data set for developing the model to perform dynamic outlier bias reduction on the target data set for one or more bias criteria values of the set of bias criteria values to generate one or more outlier bias reduced target data sets by performing at least the following: for each of the one or more bias criteria values: generate a plurality of model predicted values for the target data set by applying the model to the target data set; compute a plurality of error values determined from the target data set and the model predicted values; compare the error values with the corresponding bias criteria value; remove outliers within the target data set to form the corresponding outlier bias reduced target data set determined from the comparison of the error values with the corresponding bias criteria value; and optimize the model to from an updated model determined from the corresponding outlier bias reduced target data set.
 18. An apparatus specialized for assessing the viability of a data set for developing a model comprising: a processor coupled to a non-transitory computer readable medium, wherein the non-transitory computer readable medium comprises instructions when executed by the processor causes the apparatus to perform at least the following: receive a target data set comprising all actual data values collected for at least one target variable; generate a random data set based on the target data set; receive a plurality of bias criteria values used to determine one or more outliers; produce a plurality of outlier bias reduced target data sets that are associated with the bias criteria values by applying a mathematical model and a dynamic outlier bias reduction to the target data set; produce a plurality of outlier bias reduced random data sets that are associated with the bias criteria values by applying the mathematical model and the dynamic outlier bias reduction to the random data set; calculate at least one target error value for each of the outlier bias reduced target data sets and at least one random error value for each of the outlier bias reduced random data sets; calculate at least one target correlation value for each of the outlier bias reduced target data sets and at least one random correlation value for each of the outlier bias reduced random data sets; construct a first bias criteria curve for the target data set on based on the at least one target error value and the at least one target correlation value for each of the outlier bias reduced target data sets; construct a second bias criteria curve for the random data set on based on the at least one random error value and the at least one random correlation value for each of the outlier bias reduced random data sets; and compare the first bias criteria curve and the second bias criteria curve to determine viability of the target data set used for the mathematical model.
 19. The apparatus of claim 18, wherein the instructions, when executed by the processor, cause the apparatus to produce a plurality of outlier bias reduced target data sets that are associated with the bias criteria values by applying a mathematical model and a dynamic outlier bias reduction to the target data set by performing at least the following: for each of the one or more bias criteria values: generate a plurality of model predicted values for the target data set by applying the mathematical model to the target data set; compute a plurality of error values determined from the target data set and the model predicted values; compare the error values with the corresponding bias criteria value; remove outliers within the target data set to form the corresponding outlier bias reduced target data set determined from the comparison of the error values with the corresponding bias criteria value; and optimize the mathematical model to from an updated mathematical model determined from the corresponding outlier bias reduced target data set.
 20. The apparatus of claim 18, wherein the instructions, when executed by the processor, cause the apparatus to compare the first bias criteria curve and the second bias criteria curve for determining viability of the target data set used to develop the model by performing at least the following: determine a first bias criteria value on the first bias criteria curve that corresponds to the at least one target error value; determine a second bias criteria value on the second bias criteria curve that corresponds to the at least one random error values, and compare the first bias criteria value with the second bias criteria value, wherein the at least one target error value and the at least one random error value are the same. 